package com.baoyouqun.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class CorsConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**") // 对所有接口生效
                .allowCredentials(true) // 允许携带凭证（必须保留时，不能用allowedOrigins="*"）
                // 方案A：指定具体允许的前端域名（推荐，更安全）
//                .allowedOrigins("*")
                // 方案B：用allowedOriginPatterns替代allowedOrigins，支持通配符（如适配多个环境）
                .allowedOriginPatterns("https://baoyouqun.cn", "http://*.baoyouqun.cn", "http://baoyouqun.cn", "https://work.weixin.qq.com", "http://localhost", "http://127.0.0.1:*", "https://localhost:*", "https://127.0.0.1:*")
                .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS") // 允许的请求方法，增加OPTIONS
                .allowedHeaders("*") // 允许的请求头
                .exposedHeaders("*") // 暴露的响应头
                .maxAge(3600L); // 预检请求的缓存时间（避免频繁预检）
    }
}